/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import React from 'react';
import {NavigationContainer} from '@react-navigation/native';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import HomePage from './pages/HomePage';
import GridPage from './pages/Grid';
import FlexPage from './pages/Flex';
import ModalPage from './pages/Modal';
import SplitPage from './pages/Split';
import BackgroundPage from './pages/Background';
import PlayerPage from './pages/Player';
import type {ReactNode} from 'react';
import PicPage from './pages/Pic';
import navigationPage from './pages/VideoList';
import ScanPage from './pages/Scan';
import CodeDetailPage from './pages/Scan/codeDetail/report';
import FlitPage from './pages/Flit';
import IndentPage from './pages/IndentLayout';
import FaceDetectionPage from './pages/FaceDetection';
import CenterModalPage from './pages/CenterModal';

const Page = (): ReactNode => {
  const Stack = createNativeStackNavigator();
  return (
    <NavigationContainer>
      <Stack.Navigator initialRouteName="home" screenOptions={{headerShown: false}}>
        <Stack.Screen name="home" component={HomePage} />
        <Stack.Screen name="grid" component={GridPage} />
        <Stack.Screen name="flex" component={FlexPage} />
        <Stack.Screen name="modal" component={ModalPage} />
        <Stack.Screen name="split" component={SplitPage} />
        <Stack.Screen name="background" component={BackgroundPage} />
        <Stack.Screen name="pic" component={PicPage} />
        <Stack.Screen name="player" component={PlayerPage} />
        <Stack.Screen name="navigation" component={navigationPage} />
        <Stack.Screen name="scan" component={ScanPage} />
        <Stack.Screen name="codeDetail" component={CodeDetailPage} />
        <Stack.Screen name="flit" component={FlitPage} />
        <Stack.Screen name="indent" component={IndentPage} />
        <Stack.Screen name="faceDetection" component={FaceDetectionPage} />
        <Stack.Screen name="centerModal" component={CenterModalPage} />
      </Stack.Navigator>
    </NavigationContainer>
  );
};

export default Page;
